/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package clases;

import controladores.ConvenioXPeriodoXEstudianteFacadeLocal;
import entidades.ConvenioXPeriodoXEstudiante;
import entidades.InformeFinalPracticaEmpresarial;
import java.io.Serializable;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.faces.event.ActionEvent;

/**
 *
 * @author BATAQUERO
 */
@ManagedBean
@ViewScoped
public class ListaInformeFinalPracticaBean implements Serializable{

    @EJB
    private ConvenioXPeriodoXEstudianteFacadeLocal convenioXPeriodoXEstudianteFacadeLocal;
    private List<ConvenioXPeriodoXEstudiante> convenioXPeriodoXEstudiantes;
    private String ESTADO_PERIODO = "ACT";
    private List<InformeFinalPracticaEmpresarial> informesFinalesPracticas;
    private String estudianteSelected;
    @ManagedProperty(value = "#{sessionBean}")
    private SessionBean sessionBean;
    private int idSupervisor;
    private int idCoordinador;
    private int idPracticante;
    private final int ROL_COORDINADOR = 2;
    private final int ROL_SUPERVISOR = 3;
    private final int ROL_PRACTICANTE = 5;
    
    /**
     * Creates a new instance of ListaInformeFinalPracticaBean
     */
    public ListaInformeFinalPracticaBean() {
    }
    
    @PostConstruct
    public void init() {
        switch (sessionBean.getUsuarioSession().getIdRol().getIdRol()){
            case ROL_COORDINADOR:
                idCoordinador = sessionBean.getUsuarioSession().getIdUsuario();
                convenioXPeriodoXEstudiantes = convenioXPeriodoXEstudianteFacadeLocal.listarEstudiantesXPeriodo(ESTADO_PERIODO);
                break;
            case ROL_SUPERVISOR:
                idSupervisor = sessionBean.getUsuarioSession().getIdUsuario();
                //supervisor.setIdSupervisor(3010);
                //convenioXPeriodoXEstudiantes = convenioXPeriodoXEstudianteFacadeLocal.listarConvenisoPorPeriodo(2, 2013);
                convenioXPeriodoXEstudiantes = convenioXPeriodoXEstudianteFacadeLocal.listarEstudiantesXSupervisor(idSupervisor, ESTADO_PERIODO);
                break;
            case ROL_PRACTICANTE:
                idPracticante = sessionBean.getUsuarioSession().getIdUsuario();
                convenioXPeriodoXEstudiantes = convenioXPeriodoXEstudianteFacadeLocal.consultarEstudiante(idPracticante, ESTADO_PERIODO);
                break;
                
        }
    }

    public void listarInformesFinalesPrcaticas(ActionEvent actionEvent){
        informesFinalesPracticas = convenioXPeriodoXEstudianteFacadeLocal.consultarConvenioXPeriodoXEstudiante(80739686, ESTADO_PERIODO).getInformeFinalPracticaEmpresarialList();
    }
    
    public List<ConvenioXPeriodoXEstudiante> getConvenioXPeriodoXEstudiantes() {
        return convenioXPeriodoXEstudiantes;
    }

    public void setConvenioXPeriodoXEstudiantes(List<ConvenioXPeriodoXEstudiante> convenioXPeriodoXEstudiantes) {
        this.convenioXPeriodoXEstudiantes = convenioXPeriodoXEstudiantes;
    }

    public SessionBean getSessionBean() {
        return sessionBean;
    }

    public void setSessionBean(SessionBean sessionBean) {
        this.sessionBean = sessionBean;
    }

    public List<InformeFinalPracticaEmpresarial> getInformesFinalesPracticas() {
        return informesFinalesPracticas;
    }

    public void setInformesFinalesPracticas(List<InformeFinalPracticaEmpresarial> informesFinalesPracticas) {
        this.informesFinalesPracticas = informesFinalesPracticas;
    }

    public String getEstudianteSelected() {
        return estudianteSelected;
    }

    public void setEstudianteSelected(String estudianteSelected) {
        this.estudianteSelected = estudianteSelected;
    }
    
    
    
}
